package org.vsg.stock.basic.service;

import java.util.Date;
import java.util.List;

import org.vsg.common.biz.exception.ServiceException;
import org.vsg.stock.basic.domain.StockDayIndicator;

/**
 * 
 * @author vison
 *
 */

public interface StockDayIndicatorService {
	
	/**
	 * calculate value to db
	 * @param stock
	 * @param date
	 * @return
	 */
	void calculate( Date fromDate, Date toDate);
	
	/**
	 * 
	 * @param refDate
	 * @throws ServiceException
	 */
	void genBasicStockDayIndicator(Date refDate , int cycle) throws ServiceException; 

	/**
	 * 
	 * @param stockCode
	 * @param refDate
	 * @param cycle
	 * @throws ServiceException
	 */
	void genBasicStockDayIndicator(String stockCode , Date refDate , int cycle) throws ServiceException; 
	
	/**
	 * 
	 * @param stockCode
	 * @param refDate
	 * @throws ServiceException
	 */
	void analyseAndUpdateStockDayIndicator(String stockCode , Date refDate ) throws ServiceException;
	
	/**
	 * 
	 * @param stockCode
	 * @return
	 * @throws ServiceException
	 */
	List<StockDayIndicator> findAllDayIndicator(String stockCode) throws ServiceException;
	
	
}
